package LeetCode.interview;

/*
 *
 * 
原题
 
　　Given a roman numeral, convert it to an integer. 
　　Input is guaranteed to be within the range from 1 to 3999. 

题目大意

　	将数字转roman
　　输入的数字在1-3999之间。 
	 注：I（1）、V（5）、X（10）、L（50）、C（100）、D（500）和M（1000）
	 	注：题目限制0~3999
解题思路

　　根据罗马数字与整数数字对应关系进行加法操作，如果前一个数字比后一个大就相减，否则进行相加。 
	

 * @Date 2017-09-24 23：00
 */
public class _012_Integer_to_Roman {
	/**
	 * 法一：穷举法
	 * @param s
	 * @return
	 */
    public String intToRoman(int num) {
    	String rs = "";
    	String[] thousand = {"", "M", "MM", "MMM"};
    	String[] hundred  = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
    	String[] ten      = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
    	String[] unit     = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
        return thousand[num/1000] + hundred[num%1000/100] + ten[num%1000%100/10] + unit[num%1000%100%10];
    }
}
